home *** CD-ROM | disk | FTP | other *** search
/ The Programmer Disk / The Programmer Disk (Microforum).iso / xpro / basic3 / pro5 / cannon.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1990-04-12  |  1.8 KB  |  70 lines

  1. 0     ME$="DEMOMENU.BAS":ON ERROR GOTO 65000
  2. 1  REM CANNON.BAS 1/26/85
  3. 5  CLS : RANDOMIZE TIMER
  4. 10  PRINT
  5. 20  PRINT
  6. 40  PRINT
  7. 50  PRINT
  8. 60  PRINT
  9. 100  PRINT "YOU ARE AN ARTILLERY OFFICER WHO GIVES FIRING ORDERS"
  10. 105  PRINT "TO A GUN CREW.  YOU GIVE THE DEGREES OF ELEVATION THAT"
  11. 110  PRINT "YOU THINK WILL PLACE THE PROJECTILE ON TARGET.  THE"
  12. 115  PRINT "MAXIMUM RANGE OF THE GUN IS 46,500 YARDS.  A HIT   "
  13. 120  PRINT "WITHIN 100 YARDS OF THE TARGET WILL DESTROY IT.  ENTER"
  14. 125  PRINT "YOUR FIRING ORDERS AS REQUESTED.............."
  15. 130  REM T= DISTANCE TO TARGET
  16. 135  REM I = DISTANCE OF THE SHOT
  17. 140  REM E = DISTANCE OVER(NEGATIVE), OR UNDER(POSITIVE) THE TARGET
  18. 143  REM RANDOMIZE TIMERIZE DISTANCE TO TARGET
  19. 145  T=43000 - 25999*RND(1)
  20. 150  S=0
  21. 155  GOTO 400
  22. 160  PRINT "MIN. ELEVATION OF THE GUN IS ONE DEGREE."
  23. 165  GOTO 430
  24. 240  PRINT "MAX. ELEVATION OF THE GUN IS 89 DEGREES."
  25. 250  GOTO 430
  26. 260  PRINT "OVER THE TARGET BY",ABS(E),"YARDS."
  27. 270  GOTO 430
  28. 280  PRINT "SHORT OF TARGET BY ",ABS (E)," YARDS"
  29. 290  GOTO 430
  30. 300  FOR IW=1 TO 10
  31. 302  PRINT  ,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  32. 306  PRINT  ,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  33. 308  NEXT IW
  34. 310  PRINT "<<<< BOOM >>>>  TARGET DESTROYED.", S," ROUNDS EXPENDED"
  35. 320  PRINT
  36. 330  PRINT
  37. 335  PRINT "THE FORWARD AIR CONTROLLER HAS LOCATED ANOTHER TARGET."
  38. 340  PRINT "WILL YOU BE ABLE TO FIRE AGAIN?  ( 1 = YES, 0 = NO)"
  39. 350  INPUT G
  40. 360  IF G=1 THEN 145
  41. 365  IF G=0 THEN RUN "DEMOMENU.BAS"
  42. 370  PRINT
  43. 380  PRINT "GOOD WORK.  FREE BEER AT THE PX!  CREW DISMISSED."
  44. 390  STOP
  45. 400  PRINT
  46. 410  PRINT "DISTANCE TO THE TARGET IS",INT(T), " YARDS"
  47. 420  PRINT
  48. 430  PRINT "ELEVATION:"
  49. 440  INPUT B
  50. 450  IF B>89 THEN 240
  51. 460  IF B<1 THEN 160
  52. 470  S=S+1
  53. 480  B2=2*B/57.3
  54. 490  I=46500*SIN(B2)
  55. 500  X=T-I
  56. 510  E=INT(X)
  57. 520  IF ABS(E)<100 THEN 300
  58. 530  IF E>100 THEN 280
  59. 540  IF E<-100 THEN 260
  60. 550  RUN"FILES."
  61. 65000  CLS:PRINT:PRINT:SCREEN 1:PRINT TAB(15); "ERROR TRAP";" "
  62. 65005  PRINT:PRINT "ERROR CONDITION #";ERR
  63. 65010  PRINT:PRINT "HAS BEEN DETECTED IN LINE #";ERL
  64. 65015  PRINT:PRINT "HIT "; "<R>";" ";" TO RESUME"
  65. 65020  PRINT:PRINT"HIT "; "<M>";" ";" TO RETURN TO  THE MAIN MENU"
  66. 65025  R$=INPUT$(1):PRINT :SCREEN 2
  67. 65030  IF R$="M" THEN RUN ME$
  68. 65035  IF R$="R" THEN RESUME NEXT
  69. 65040  ON ERROR GOTO 0
  70.